home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1989-06-10 | 10.7 KB | 259 lines |
- 2 ' This programme is used to design calculate ONE WAY RIBBED SLAB LOADING
- 3 ' This programme uses Advanced Basic Language (IBM - BASICA )
- 4 ' This programme is saved under the name [ ONEWAYRL ]
- 5 ' This programme is accessed only through the programme RIBSLOAD
- 6 ' Prepared by AMJAD J. SHAIR 12/1/1986 ,REWRITTEN 1/3/1987
- 10 SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0
- 15 CLEAR
- 20 OPEN "DATA1" FOR INPUT AS #1
- 25 IF EOF(1) THEN CLOSE :GOTO 40
- 30 INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA
- 35 GOTO 25
- 40 CLS :LOCATE 2
- 42 PRINT " ***** ONE WAY RIBBED SLAB LOADING *****"
- 44 PRINT " **************** WORKING MENU ****************"
- 46 PRINT :PRINT
- 48 PRINT " [ D ] - DISPLAY RIBS LOADING FROM FILES "
- 50 PRINT " ( could modify & print also ) " :PRINT
- 52 PRINT " [ C ] - CREATE NEW RIBS LOADING TYPES "
- 54 PRINT " ( would replace a filed type ) " :PRINT
- 56 PRINT " [ R ] - RETURN TO RIBS LOADING SYSTEMS MENU "
- 58 PRINT :PRINT
- 60 PRINT " ENTER THE CHOSEN INITIAL SHOWN IN BRACKETS :";
- 64 RTC$=INKEY$ :IF RTC$<>"D" AND RTC$<>"d" AND RTC$<>"C" AND RTC$<>"c" AND RTC$<>"R" AND RTC$<>"r" THEN 64
- 66 IF RTC$="D" OR RTC$="d" GOTO 480
- 68 IF RTC$="C" OR RTC$="c" GOTO 80
- 70 IF RTC$="R" OR RTC$="r" THEN CHAIN "RIBSLOAD",10
- 80 '--------------------------------------------- ENTER DATA TO CREATE NEW TYPE
- 85 CLS :LOCATE 2
- 90 PRINT " ***** ONE WAY RIBBED SLAB LOADING *****"
- 92 PRINT " ***** *****"
- 95 PRINT " ***** CREATE NEW RIB LOADING TYPE *****"
- 100 PRINT :PRINT
- 110 INPUT " ENTER RIB TYPE NUMBER ( 1-3 ) TYPE :",TNR
- 120 PRINT :IF TNR<=0 OR TNR>3 GOTO 110
- 130 INPUT " ENTER Width of Rib b (cm) ",BR
- 140 PRINT
- 150 IF BR>0 GOTO 200
- 160 LOCATE ,6 :COLOR ,4 :BEEP
- 170 INPUT " *** YOU CAN'T HAVE A RIB WITH ZERO WIDTH * RE-ENTER *** ",BR
- 180 COLOR ,1:PRINT
- 190 IF BR<=0 GOTO 1660
- 200 INPUT " ENTER Total heigh of Rib h (cm) ",HR
- 210 PRINT
- 220 IF HR>0 GOTO 270
- 230 LOCATE ,6 :COLOR ,4 :BEEP
- 240 INPUT " *** YOU CAN'T HAVE A RIB WITH ZERO HEIGHT * RE-ENTER *** ",HR
- 250 COLOR ,1:PRINT
- 260 IF HR<=0 GOTO 1660
- 270 INPUT " ENTER Total heigh of block hb (cm) ",HB
- 280 PRINT
- 290 IF HB>0 GOTO 340
- 300 LOCATE ,6 :COLOR ,4 :BEEP
- 310 INPUT " *** YOU CAN'T HAVE A BLOCK WITH ZERO HEIGHT * RE-ENTER *** ",HB
- 320 COLOR ,1:PRINT
- 330 IF HB<=0 GOTO 1660
- 340 IF HB<HR GOTO 380
- 350 LOCATE ,6 :COLOR ,4 :BEEP
- 360 INPUT " *** YOU CAN'T HAVE A BLOCK THICKER THAN RIB * RE-ENTER *** ",HB
- 370 COLOR ,1:PRINT :GOTO 340
- 380 INPUT " ENTER Total thickness of Tiling tt (cm) ",TT
- 390 PRINT
- 400 IF TT>0 GOTO 450
- 410 LOCATE ,6 :COLOR ,4 :BEEP
- 420 INPUT " *** YOU CAN'T HAVE TILING WITH ZERO THICK. * RE-ENTER *** ",HB
- 430 COLOR ,1:PRINT
- 440 IF TT<=0 GOTO 1660
- 450 INPUT " ENTER Average Partition Load pw (kg/m2) ",PW
- 452 PRINT
- 454 INPUT " ENTER Average Live Load LL (kg/m2) ",LL
- 456 PRINT
- 458 IF LL>0 GOTO 550
- 460 LOCATE ,6 :COLOR ,4 :BEEP
- 462 INPUT " *** YOU CAN'T DESIGN FOR ZERO LIVE LOAD * RE-ENTER *** ",LL
- 464 COLOR ,1:PRINT
- 466 IF LL<=0 GOTO 1660
- 480 '---------------------------------------------------- ENTER DATA FROM FILES
- 482 CLS :LOCATE 2
- 484 PRINT " ***** ONE WAY RIBBED SLAB LOADING *****"
- 486 PRINT " ***** *****"
- 488 PRINT " ***** DISPLAY RIBS LOADING FROM FILES *****"
- 490 PRINT :PRINT
- 492 INPUT " ENTER RIB TYPE NUMBER ( 1-3 ) TYPE :",TNR
- 494 PRINT :IF TNR<=0 OR TNR>3 GOTO 492
- 496 ON TNR GOTO 500,510,520
- 500 OPEN "OWRL1" FOR INPUT AS #1
- 502 IF EOF(1) THEN CLOSE :GOTO 550
- 504 INPUT #1,BR,HR,HB,TT,PW,LL,WU
- 506 GOTO 502
- 510 OPEN "OWRL2" FOR INPUT AS #1
- 512 IF EOF(1) THEN CLOSE :GOTO 550
- 514 INPUT #1,BR,HR,HB,TT,PW,LL,WU
- 516 GOTO 512
- 520 OPEN "OWRL3" FOR INPUT AS #1
- 522 IF EOF(1) THEN CLOSE :GOTO 550
- 524 INPUT #1,BR,HR,HB,TT,PW,LL,WU
- 526 GOTO 522
- 540 '-------------------------------------------------------Calculation of load
- 550 BW=CINT(950*HB*40*20/1E+06) 'Weight of one Block kg
- 560 R=CINT(BR*HB*0.25) 'Load of Rib kg/m/rib
- 570 S=CINT((HR-HB)*(BR+40)*0.25) 'Load of Slab kg/m/rib
- 580 B=CINT(BW*5) 'Load of Block kg/m/rib
- 590 T=CINT(TT*(BR+40)*0.19) 'Load of Tiles kg/m/rib
- 600 P=CINT(PW*(BR+40)/100) 'Load of Partitions kg/m/rib
- 610 WL=CINT(LL*(BR+40)/100) 'Live Load kg/m/rib
- 620 WD=R+S+B+T+P 'Total Dead Load kg/m/rib
- 630 WW=WD+WL 'Total Working Load kg/m/rib
- 640 WU=CINT(1.4*WD+1.7*WL) 'Total Ultimate Load kg/m/rib
- 650 '------------------------------------------------ Display of Data & Results
- 660 CLS :LOCATE 2,8
- 670 PRINT "***** ONE WAY RIBBED SLAB LOADING * TYPE"TNR " *****"
- 680 PRINT
- 690 GOSUB 1800
- 700 PRINT " DATA : - Width of Rib ............ b = "BR" cm"
- 710 PRINT " - Height of Rib ........... h = "HR" cm"
- 720 PRINT " - Height of Block ......... hb = "HB" cm"
- 730 PRINT " - Thickness of Tiles ...... tt = "TT" cm"
- 740 PRINT " - Average Partition Load .. pw = "PW" kg/m2"
- 750 PRINT " - Average Live Load ....... LL = "LL" kg/m2"
- 760 PRINT
- 770 PRINT " LOADING : Dead Load WD ="WD" kg/m/rib * Live Load WL ="WL" kg/m/rib"
- 780 PRINT " Total Working Load = WD + WL = "WW" kg/m/rib"
- 790 PRINT " Total Ultimate Load = 1.4 * WD + 1.7 * WL = "WU" kg/m/rib"
- 800 '------------------------------------------- Changing any of the given Data
- 810 PRINT
- 820 PRINT " *** DO YOU WANT TO CHANGE ANY OF THE ABOVE DATA (Y/N) ? ***";
- 830 Y$=INKEY$ :IF Y$="" THEN 830
- 840 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 870
- 850 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 1080
- 860 GOTO 820
- 870 PRINT
- 880 INPUT " ENTER THE SYMBOL OF THE DATA YOU WANT TO CHANGE : ",DT$
- 885 PRINT
- 890 IF DT$ <>"B" AND DT$<>"b" GOTO 920
- 900 INPUT " ENTER Width of Rib b (cm) ",BR
- 910 GOTO 540
- 920 IF DT$ <>"H" AND DT$<>"h" GOTO 950
- 930 INPUT " ENTER Total heigh of Rib h (cm) ",HR
- 940 GOTO 540
- 950 IF DT$ <>"HB" AND DT$<>"hb" GOTO 980
- 960 INPUT " ENTER Total heigh of block hb (cm) ",HB
- 970 GOTO 540
- 980 IF DT$ <>"TT" AND DT$<>"tt" GOTO 1010
- 990 INPUT " ENTER Total thickness of Tiling tt (cm) ",TT
- 1000 GOTO 540
- 1010 IF DT$ <>"PW" AND DT$<>"pw" GOTO 1040
- 1020 INPUT " ENTER Average Partition Load pw (kg/m2) ",PW
- 1030 GOTO 540
- 1040 IF DT$ <>"LL" AND DT$<>"ll" GOTO 1070
- 1050 INPUT " ENTER Average Live Load LL (kg/m2) ",LL
- 1060 GOTO 540
- 1070 PRINT
- 1080 ON TNR GOTO 1090,1110,1130
- 1090 OPEN "OWRL1" FOR OUTPUT AS #1
- 1100 WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
- 1110 OPEN "OWRL2" FOR OUTPUT AS #1
- 1120 WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
- 1130 OPEN "OWRL3" FOR OUTPUT AS #1
- 1140 WRITE #1,BR,HR,HB,TT,PW,LL,WU :CLOSE :GOTO 1150
- 1150 PRINT
- 1160 '------------------------------------------------- Printing Data & Results
- 1170 PRINT " *** DO YOU WANT THIS RIB LOADING TO BE PRINTED (Y/N) ? ***";
- 1180 Y$=INKEY$ :IF Y$="" THEN 1180
- 1190 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 1220
- 1200 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 1710
- 1210 GOTO 1170
- 1220 H$=STRING$(79,61)
- 1222 LPRINT
- 1225 LPRINT CHR$(14)"Arabian Consulting Engineering Services"
- 1230 LPRINT "P. O. Box 146 Riyadh - Saudi Arabia"
- 1235 LPRINT H$
- 1240 LPRINT CHR$(14)" PROJECT: "PRJ$
- 1245 LPRINT
- 1250 LPRINT " BUILDING : "BLD$ TAB(58)"PAGE No.:"
- 1255 LPRINT " DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE : "DATE$
- 1260 LPRINT :LPRINT H$
- 1265 LPRINT " RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan"
- 1270 LPRINT " THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services K.S.A"
- 1275 LPRINT H$
- 1280 LPRINT CHR$(14) " ONE WAY RIBBED SLAB LOADING " TAB(33)"TYPE"TNR
- 1290 LPRINT H$ :LPRINT
- 1300 GOSUB 1930
- 1310 LPRINT CHR$(27)"G"
- 1320 LPRINT " ** DATA ** "
- 1330 LPRINT CHR$(27)"H";" ------------ "
- 1340 LPRINT " - Width of Rib ............ b = "BR" cm"
- 1350 LPRINT " - Height of Rib ........... h = "HR" cm"
- 1360 LPRINT " - Height of Block ......... hb = "HB" cm"
- 1370 LPRINT " - Thickness of Tiles ...... tt = "TT" cm"
- 1380 LPRINT " - Average Partition Load .. pw = "PW" kg/m2"
- 1390 LPRINT " - Average Live Load ....... LL = "LL" kg/m2"
- 1400 LPRINT :LPRINT H$
- 1410 LPRINT CHR$(27)"G"
- 1420 LPRINT " ** RIB LOADING ** "
- 1430 LPRINT CHR$(27)"H";" ------------------- "
- 1440 LPRINT CHR$(27)"G"
- 1450 LPRINT " ** DEAD LOAD ** "
- 1460 LPRINT CHR$(27)"H"
- 1470 LPRINT " Weight of Rib ="BR" X"HB" X 0.250" TAB(48) "="R" kg/m/rib"
- 1480 LPRINT " Weight of Slab ="HR-HB" X"BR+40" X 0.250" TAB(48)"="S" kg/m/rib"
- 1490 LPRINT " Weight of Block ="BW" X 5" TAB(48)"="B" kg/m/rib"
- 1500 LPRINT " Weight of Tiling ="TT" X"BR+40" X 0.190" TAB(48)"="T" kg/m/rib"
- 1510 IF P <=0 GOTO 1530
- 1520 LPRINT " Weight of Partition ="PW" X"BR+40" /100" TAB(48)"="P" kg/m/rib"
- 1530 LPRINT
- 1540 LPRINT TAB(25)"TOTAL DEAD LOAD WD ="WD" kg/m/rib"
- 1550 LPRINT CHR$(27)"G"
- 1560 LPRINT " ** LIVE LOAD ** "
- 1570 LPRINT CHR$(27)"H"
- 1580 LPRINT TAB(12)"LIVE LOAD WL ="LL" X"BR+40" / 100 ="WL" kg/m/rib"
- 1590 LPRINT :LPRINT CHR$(27)"G"
- 1600 LPRINT " TOTAL WORKING LOAD = WD + WL ="WW" kg/m/rib"
- 1610 LPRINT
- 1620 LPRINT " TOTAL ULTIMATE LOAD = 1.4 X WD + 1.7 X WL ="WU" kg/m/rib
- 1630 LPRINT CHR$(27)"H"
- 1640 LPRINT H$
- 1650 LPRINT CHR$(12) :GOTO 1710
- 1660 PRINT :LOCATE ,6 :COLOR ,4 :BEEP
- 1670 PRINT " *** YOU WERE GIVEN TWO CHANCES TO ENTER BUT YOU FAILED *** "
- 1680 PRINT :COLOR ,4:LOCATE ,6
- 1690 PRINT " *** ENTER Y TO REDO OR TO GO FOR OTHER LOADING TYPES *** "
- 1700 COLOR ,1
- 1710 PRINT
- 1720 '------------------------------------- Repeat for other Ribs Loading Types
- 1730 PRINT " press SPACE BAR to return to return to ONE WAY RIBBED SLAB WORKING MENU ";
- 1740 Y$=INKEY$ :IF Y$<>" " THEN 1740
- 1750 GOTO 15
- 1780 END '---------------------------------------------------------------------
- 1790 '************************* SUBROUTINES *********************************
- 1800 '------------------------------------- Subroutine to display the rib shape
- 1810 C$=STRING$(35,196) :N$=STRING$(5,196) :O$=STRING$(15,196) :Q$=CHR$(193)
- 1820 D$=CHR$(179) :E$=CHR$(194) :F$=CHR$(195) :G$=CHR$(180) :M$=CHR$(196) :Q$=CHR$(193) :Z$=STRING$(3,196)
- 1830 PRINT TAB(12) E$ SPC(4) E$ SPC(4) F$;C$;G$
- 1840 PRINT TAB(12) D$" tf"CHR$(197) SPC(4) F$;N$;CHR$(191) SPC(3) CHR$(218);O$;CHR$(191) SPC(3) CHR$(218);N$;G$
- 1850 PRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 1860 PRINT TAB(12) "h" SPC(3) "hb" SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 1870 PRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 1880 PRINT TAB(12) Q$ SPC(4) Q$ SPC(4) F$;N$;Q$;Z$;Q$;O$;Q$;Z$;Q$;N$;G$
- 1890 PRINT
- 1900 PRINT TAB(28) F$" b "CHR$(197);Z$" 40 cm "Z$;CHR$(197)" b "G$
- 1910 PRINT
- 1920 RETURN
- 1930 '--------------------------------------- Subroutine to print the rib shape
- 1940 C$=STRING$(35,45) :N$=STRING$(5,45) :O$=STRING$(15,45) :Z$=STRING$(3,45)
- 1950 D$=CHR$(124) :A$=CHR$(43)
- 1960 LPRINT CHR$(27)"1"
- 1970 LPRINT TAB(12) A$ SPC(4) A$ SPC(4) D$;C$;D$
- 1980 LPRINT TAB(12) D$" tf" SPC(4) D$ SPC(35) D$
- 1990 LPRINT TAB(12) D$ SPC(4) A$ SPC(4) D$;N$;A$ SPC(3) A$;O$;A$ SPC(3) A$;N$;D$
- 2000 LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2010 LPRINT TAB(22) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2020 LPRINT TAB(12) "h" SPC(3) "hb" SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2030 LPRINT TAB(22) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2040 LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2050 LPRINT TAB(12) D$ SPC(4) D$ SPC(4) D$ SPC(5) D$ SPC(3) D$ SPC(15) D$ SPC(3) D$ SPC(5) D$
- 2060 LPRINT TAB(12) A$ SPC(4) A$ SPC(4) D$;C$;D$
- 2070 LPRINT CHR$(27)"2"
- 2080 LPRINT TAB(28) A$" b "A$;Z$" 40 cm "Z$;A$" b "A$
- 2090 RETURN
-